home *** CD-ROM | disk | FTP | other *** search
/ Ham Radio 2000 / Ham Radio 2000.iso / ham2000 / antenna / yagim311 / dl6wu-1.bas < prev    next >
BASIC Source File  |  1989-03-08  |  11KB  |  250 lines

  1. 10 '>>>>>>>>>>>>>>>>>>>>>>> DL6WU-1 - RSS - 4/18/84 <<<<<<<<<<<<<<<<<<<<<<<<<
  2. 20 '9/14/85 - RSS - Changed program name from ANTENNA.BAS to DL6WU-1.BAS.
  3. 22 'Changed factor for driven element length, per correspondence with DL6WU:
  4. 24 'Experimental data indicates that length of folded dipole driven element is
  5. 26 'independent of element diameter.  If folded element spacing is relatively
  6. 28 'large (.05 to .1 wavelength), the antenna is quite broadband.
  7. 30 CLS
  8. 35 KEY OFF
  9. 40 PRINT STRING$(20,42);" DL6WU ANTENNA DESIGN PROGRAM ";STRING$(20,42)
  10. 90 DIM S(100),D(100),DH(100),DL(100),T(100)
  11. 110 PRINT : INPUT"YOUR CALL SIGN ?        ",S$
  12. 120 PRINT : INPUT"TODAY'S DATE ?            ",D$
  13. 130 PRINT : INPUT"DESIGN FREQUENCY (MHz) ?    ",F
  14. 132 IF F>0 GOTO 140
  15. 134 PRINT : PRINT"---> STOP FOOLING AROUND - ENTER A FREQUENCY!"
  16. 136 PRINT : GOTO 130
  17. 140 CLS
  18. 145 CM=29979.3 : I=11802.9    'Wavelength factors for cm and in.
  19. 150 PRINT"DO YOU WANT TO ENTER ALL PHYSICAL DIMENSIONS IN:"
  20. 160 PRINT : PRINT"    1 - INCHES ?"
  21. 170 PRINT : PRINT"    2 - CENTIMETERS ?"
  22. 180 PRINT : PRINT"    3 - WAVELENGTHS ?"
  23. 190 PRINT : INPUT"SELECT ONE OF THE ABOVE OPTION NUMBERS    ",P$
  24. 200 IF P$="1" OR P$="2" OR P$="3" GOTO 230
  25. 210 PRINT : GOSUB 1862
  26. 220 GOTO 140
  27. 230 CLS
  28. 240 PRINT"DO YOU WANT TO SPECIFY:"
  29. 250 PRINT : PRINT"     1 - ANTENNA GAIN (IN dBd) AND ACCEPT CALCULATED BOOM LENGTH ?" 
  30. 260 PRINT : PRINT"     2 - BOOM LENGTH AND ACCEPT CALCULATED GAIN ?"
  31. 270 PRINT : INPUT"SELECT ONE OF THE ABOVE OPTION NUMBERS    ",B$
  32. 280 IF B$="1" OR B$="2" GOTO 310
  33. 290 PRINT : GOSUB 1862
  34. 300 GOTO 230
  35. 310 CLS
  36. 320 PRINT"YOU HAVE THE FOLLOWING CHOICES FOR BOOM MATERIAL AND MOUNTING THE ELEMENTS:"
  37. 330 PRINT : PRINT"     1 - ELEMENTS PASS THROUGH AND ARE NOT INSULATED FROM A METAL BOOM"
  38. 340 PRINT : PRINT"     2 - ELEMENTS PASS THROUGH AND ARE INSULATED FROM A METAL BOOM"
  39. 350 PRINT : PRINT"     3 - A NON-METALLIC BOOM IS USED"
  40. 355 PRINT"         --- OR ---"
  41. 360 PRINT"         ELEMENTS ARE MOUNTED ON INSULATORS ABOVE OR BELOW THE BOOM"
  42. 370 PRINT"         WITH METAL-TO-METAL SPACING GREATER THAN THE BOOM RADIUS"
  43. 380 PRINT : INPUT"SELECT ONE OF THE ABOVE OPTION NUMBERS    ",E$
  44. 390 IF E$="1" OR E$="2" OR E$="3" GOTO 420
  45. 400 PRINT : GOSUB 1862
  46. 410 GOTO 310
  47. 420 IF B$="2" GOTO 570
  48. 430 CLS
  49. 440 PRINT"ANTENNA GAIN MUST BE BETWEEN 11.8 dBd AND 21.6 dBd"
  50. 450 PRINT : INPUT"ANTENNA GAIN (dBd) ?    ",G
  51. 460 IF G<11.8 OR G>21.6 THEN PRINT : PRINT"---> GAIN IS OUT OF RANGE - TRY AGAIN!" ELSE GOTO 470
  52. 465 GOSUB 1865
  53. 466 GOTO 430
  54. 470 BL=EXP((G-9.2)/3.39)    'Boom wavelengths for specified gain
  55. 480 B1=BL*I/F            'Boom length in in.
  56. 490 B2=BL*CM/F            'Boom length in cm
  57. 500 B3=B1/12            'Boom length in ft
  58. 520 PRINT
  59. 530 PRINT"THEORETICAL BOOM LENGTH FROM REFLECTOR TO LAST DIRECTOR:"
  60. 535 PRINT USING"   ##.## FT = ###.### IN. = ####.# CM";B3,B1,B2
  61. 540 PRINT
  62. 550 INPUT"DO YOU WANT TO USE THIS BOOM LENGTH (Y/N) ?    ",C$
  63. 560 IF C$<>"Y" AND C$<>"y" GOTO 230 ELSE 710
  64. 570 CLS
  65. 580 PRINT"BOOM LENGTH FROM REFLECTOR TO LAST DIRECTOR MUST BE BETWEEN"
  66. 581 PRINT"2.2 AND 39 WAVELENGTHS"
  67. 585 PRINT
  68. 590 IF P$="1" THEN PRINT USING"LENGTH AT ####.# MHz MUST BE BETWEEN ###.### AND ####.### IN.";F,2.2*I/F,39*I/F
  69. 600 IF P$="2" THEN PRINT USING"LENGTH AT ####.# MHz MUST BE BETWEEN ####.# AND ####.# CM";F,2.2*CM/F,39*CM/F
  70. 610 PRINT : INPUT"BOOM LENGTH ?    ",BL
  71. 611 IF P$="1" AND BL=>2.2*I/F AND BL=<39*I/F GOTO 620
  72. 612 IF P$="2" AND BL=>2.2*CM/F AND BL=<39*CM/F GOTO 620
  73. 613 IF P$="3" AND BL=>2.2 AND BL=<39 GOTO 620
  74. 614 PRINT
  75. 615 GOSUB 1862
  76. 616 GOTO 570
  77. 620 A=BL
  78. 630 GOSUB 1750
  79. 650 BL=A        'Boom wavelengths
  80. 660 G=9.2+3.39*LOG(BL)    'Gain in terms of boom length
  81. 670 PRINT : PRINT USING"THEORETICAL MAX. ANTENNA GAIN = ##.# dBd -- IT MAY BE LESS";G
  82. 680 PRINT
  83. 690 INPUT"DO YOU WANT TO ACCEPT THIS GAIN (Y/N) ?    ",A$
  84. 700 IF A$<>"Y" AND A$<>"y" GOTO 570
  85. 710 IF E$="3" GOTO 800
  86. 715 CLS
  87. 720 PRINT"BOOM DIAMETER MUST BE LESS THAN 0.075 WAVELENGTH"
  88. 725 PRINT
  89. 730 IF P$="1" THEN PRINT USING"0.075 WAVELENGTH AT ####.# MHz = ##.### IN.";F,.075*I/F
  90. 740 IF P$="2" THEN PRINT USING"0.075 WAVELENGTH AT ####.# MHz = ##.## CM";F,.075*CM/F
  91. 750 PRINT : INPUT"BOOM DIAMETER ?        ",BD
  92. 752 IF P$="1" AND BD=<.075*I/F GOTO 760
  93. 754 IF P$="2" AND BD=<.075*CM/F GOTO 760
  94. 755 IF P$="3" AND BD=<.075 GOTO 760
  95. 756 PRINT
  96. 757 GOSUB 1862
  97. 758 GOTO 710
  98. 760 A=BD
  99. 770 GOSUB 1750
  100. 790 BD=A    'Boom diameter in wavelengths
  101. 800 CLS
  102. 810 PRINT"ELEMENT DIAMETER MUST BE BETWEEN 0.001 AND 0.02 WAVELENGTH"
  103. 815 PRINT
  104. 820 IF P$="1" THEN PRINT USING"DIAMETER AT ####.# MHz MUST BE BETWEEN #.### AND #.### IN.";F,.001*I/F,.02*I/F
  105. 830 IF P$="2" THEN PRINT USING"DIAMETER AT ####.# MHz MUST BE BETWEEN #.## AND #.## CM";F,.001*CM/F,.02*CM/F
  106. 840 PRINT : INPUT"PARASITIC ELEMENT DIAMETER ?    ",ED
  107. 842 IF P$="1" AND ED=>.001*I/F AND ED=<.02*I/F GOTO 850
  108. 843 IF P$="2" AND ED=>.001*CM/F AND ED=<.02*CM/F GOTO 850
  109. 844 IF P$="3" AND ED=>.001 AND ED=<.02 GOTO 850
  110. 845 PRINT : GOSUB 1862
  111. 846 PRINT : GOTO 840
  112. 850 A=ED
  113. 860 GOSUB 1750
  114. 880 ED=A             'Element diameter in wavelengths
  115. 890 SR=.216144        'Reflector spacing
  116. 900 LA=BL-SR        'Subtract reflector spacing from boom length
  117. 910 FOR N=1 TO 14    'First 14 directors
  118. 920 S(N)=.081444+.12178*LOG(N)    'Director spacing from previous element
  119. 925 IF N=1 THEN T(N)=SR+S(N) ELSE T(N)=T(N-1)+S(N)  'Total distance from reflector
  120. 930 LA=LA-S(N)        'Subtract from boom length
  121. 940 IF LA<0 THEN M=N-1 : LA=LA+S(N) : GOTO 1010    'Last director number
  122. 950 NEXT N
  123. 960 FOR N=15 TO 100     'From director 15 on
  124. 970 S(N)=S(14)        'Constant spacing after director 14
  125. 975 T(N)=T(N-1)+S(N)    'Total distance from reflector
  126. 980 LA=LA-S(N)        'Subtract from boom length
  127. 990 IF LA<0 THEN M=N-1 : LA=LA+S(N) : GOTO 1010    'Last director number
  128. 1000 NEXT N
  129. 1010 LL=BL-LA        'Boom length from reflector to last director
  130. 1015 G1=9.2+3.39*LOG(LL)   'Actual gain based on active boom length
  131. 1017 IF G1<11.8 THEN BL=1.05*BL ELSE GOTO 1020    'Increment until G1=9.8
  132. 1018 GOTO 900
  133. 1020 'Calculate factors for element length equation
  134. 1030 FOR Q=1 TO 7
  135. 1040 READ K,K1,K2,K3,K4       'K=standard element diameter
  136. 1050 IF K=ED THEN J=0 : GOTO 1140
  137. 1060 IF K<ED THEN L=K ELSE GOTO 1080
  138. 1070 KL1=K1 : KL2=K2 : KL3=K3 : KL4=K4
  139. 1080 IF K>ED THEN H=K ELSE GOTO 1110
  140. 1090 KH1=K1 : KH2=K2 : KH3=K3 : KH4=K4
  141. 1100 GOTO 1130
  142. 1110 NEXT Q
  143. 1130 J=(ED-L)/(H-L)    'Interpolation factor
  144. 1140 R=.476945        'Reflector length
  145. 1150 IF E$="1" OR E$="2" THEN X=R ELSE GOTO 1180
  146. 1160 GOSUB 1780
  147. 1170 R=X
  148. 1180 DE=.47192        'Driven element length
  149. 1220 'Calculate director lengths
  150. 1230 FOR N=1 TO M
  151. 1240 IF J=0 THEN D(N)=(K1-K2*LOG(N))*(1-K3*EXP(-K4*N)) ELSE GOSUB 1820   'Dir length
  152. 1250 IF E$="1" OR E$="2" THEN X=D(N) ELSE GOTO 1280
  153. 1260 GOSUB 1780
  154. 1270 D(N)=X
  155. 1280 NEXT N
  156. 1282 CLS
  157. 1285 PRINT"--> YOUR PRINTER MUST BE TURNED ON AT THIS TIME <--"
  158. 1287 PRINT : PRINT : INPUT"    PRESS <CR> WHEN PRINTER IS ON ",Z$
  159. 1290 LPRINT
  160. 1300 CLS
  161. 1310 LPRINT STRING$(80,42)
  162. 1320 LPRINT TAB(30);"DL6WU ANTENNA DESIGN"
  163. 1330 LPRINT
  164. 1340 LPRINT TAB(10);"Program written by Jerry Haigwood, KY4Z, and Bob Stein, W6NBI -"
  165. 1350 LPRINT TAB(10);"Based on article 'Extremely Long Yagi Antennas' by Gunter Hoch,
  166. 1360 LPRINT TAB(10);"DL6WU; VHF Communications, 3/82"
  167. 1370 LPRINT : LPRINT TAB(10);"DESIGNED FOR      :  ";S$;TAB(65);D$
  168. 1380 LPRINT
  169. 1390 LPRINT TAB(10);"CENTER FREQUENCY  = ";F;" MHz"
  170. 1395 LPRINT
  171. 1400 LPRINT TAB(10);USING"GAIN              = ##.# dBd";G1
  172. 1402 LPRINT
  173. 1405 LPRINT TAB(10);"DRIVE IMPEDANCE   =  200 OHMS (APPROX), WITH FOLDED DIPOLE D.E."
  174. 1410 LPRINT
  175. 1430 LPRINT TAB(10);"BOOM LENGTH:"
  176. 1433 LPRINT TAB(13);"REFLECTOR TO"
  177. 1435 LPRINT TAB(13);USING"LAST DIRECTOR  = ##.## FT  = ###.# IN. = ####.# CM";LL*I/(F*12),LL*I/F,LL*CM/F
  178. 1437 LPRINT
  179. 1438 IF E$="3" GOTO 1450
  180. 1440 LPRINT TAB(10);USING"BOOM DIAMETER     = #.### IN. = #.## CM";BD*I/F,BD*CM/F
  181. 1445 LPRINT
  182. 1450 LPRINT TAB(10);"ELEMENT DIAMETERS:"
  183. 1452 LPRINT TAB(13);"DRIVEN           ANY DIAMETER"
  184. 1454 LPRINT TAB(13);USING"PARASITIC      = #.### IN. = #.## CM";ED*I/F,ED*CM/F
  185. 1460 LPRINT
  186. 1470 IF E$="1" THEN LPRINT TAB(10);"Elements pass through and are NOT insulated from a metal boom"
  187. 1480 IF E$="2" THEN LPRINT TAB(10);"Elements pass through and are insulated from a metal boom"
  188. 1490 IF E$="3" THEN LPRINT TAB(10);"A non-metallic boom is used ---OR---"
  189. 1500 IF E$="3" THEN LPRINT TAB(10);"elements are mounted on insulators above or below a metal boom"
  190. 1510 IF E$="3" THEN LPRINT TAB(10);"with metal-to-metal spacing greater than the boom radius"
  191. 1520 LPRINT STRING$(80,42)
  192. 1530 LPRINT
  193. 1535 LPRINT TAB(14);"CUMULATIVE";TAB(67);"ELEMENT"
  194. 1540 LPRINT TAB(15);"SPACING";TAB(67);"LENGTH"
  195. 1550 LPRINT TAB(12);"-------------";TAB(63);"--------------"
  196. 1560 LPRINT TAB(13);"CM";TAB(22);"IN.";TAB(64);"CM";TAB(74);"IN."
  197. 1570 LPRINT
  198. 1572 LPRINT TAB(13);"Ref";
  199. 1573 LPRINT TAB(22);"Ref";
  200. 1575 LPRINT TAB(31);USING"REFL ----------|----------   ####.##    ";R*CM/F;
  201. 1581 LPRINT TAB(71);USING"###.###";R*I/F
  202. 1587 LPRINT TAB(46);"|"
  203. 1588 LPRINT TAB(10);USING"###.##";SR*CM/F;
  204. 1591 LPRINT TAB(21);USING"##.###";SR*I/F;
  205. 1600 LPRINT TAB(31);USING"D.E.  =========|=========    ####.##    ";DE*CM/F;
  206. 1605 LPRINT TAB(71);USING "###.###";DE*I/F
  207. 1607 FOR N=1 TO M
  208. 1608 LPRINT TAB(46);"|"
  209. 1609 LPRINT TAB(10);USING"###.##";T(N)*CM/F;
  210. 1611 LPRINT TAB(20);USING"###.###";T(N)*I/F;
  211. 1615 LPRINT TAB(31);
  212. 1616 IF N=<9 THEN LPRINT USING"D"+STR$(N)+"    --------|--------     ####.##    ";D(N)*CM/F;
  213. 1617 IF N>9 THEN LPRINT USING"D"+STR$(N)+"   --------|--------     ####.##    ";D(N)*CM/F;
  214. 1618 LPRINT TAB(71);USING"###.###";D(N)*I/F 
  215. 1640 NEXT N
  216. 1680 LPRINT
  217. 1690 PRINT STRING$(80,42)
  218. 1700 INPUT"DO YOU WANT TO RUN THE PROGRAM AGAIN FOR THE SAME USER (Y/N) ?    ",R$
  219. 1710 IF R$<>"Y" AND R$<>"y" GOTO 1740 
  220. 1715 RESTORE
  221. 1725 CLS
  222. 1730 GOTO 130
  223. 1740 KEY ON : END
  224. 1750 IF P$="1" THEN A=A*F/I         'Convert in. to wavelength 
  225. 1760 IF P$="2" THEN A=A*F/CM        'Convert cm to wavelength 
  226. 1770 RETURN
  227. 1780 'Correction factors for element lengths
  228. 1790 IF E$="1" THEN X=X+.6*BD
  229. 1800 IF E$="2" THEN X=X+.25*BD
  230. 1810 RETURN
  231. 1820 'Interpolate for D(N)
  232. 1830 DL(N)=(KL1-KL2*LOG(N))*(1-KL3*EXP(-KL4*N))
  233. 1840 DH(N)=(KH1-KH2*LOG(N))*(1-KH3*EXP(-KH4*N))
  234. 1850 D(N)=DL(N)+J*(DH(N)-DL(N))
  235. 1860 RETURN
  236. 1862 PRINT"---> INCORRECT ENTRY - TRY AGAIN!"
  237. 1865 FOR Q=1 TO 3000    'Delay loop
  238. 1867 NEXT Q
  239. 1868 RETURN
  240. 1870 'First number in each data line is element diameter.  Next 4 numbers are
  241. 1880 'K1-K4, used to determine element lengths.
  242. 1890 DATA .001,.4711,.018,.08398,.965
  243. 1900 DATA .003,.462,.01941,.08543,.9697
  244. 1910 DATA .005,.4538,.02117,.0951,1.007
  245. 1920 DATA .007,.4491,.02274,.08801,.9004
  246. 1930 DATA .01,.4421,.02396,.1027,1.038
  247. 1940 DATA .015,.4358,.02558,.1149,1.034
  248. 1950 DATA .02,.4268,.02614,.1112,1.036
  249. 1960 '>>>>>>>>>>>>>>>>>>>>>>>>>> ANTENNA <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
  250.